Computers that execute collaboration software form a system (“collaboration system”) that enables users (e.g. humans) to share with one another information, specifically data in the form of objects (“collaboration objects” or “artifacts”). Examples of collaboration objects that users may share include emails, files, contacts, tasks, calendar items, online discussions, notes, etc. Such computers allow a user to specify, for example, that a particular object (e.g. a document) can only be viewed by one group of users, while it can be viewed, modified, and deleted by another group of users.
Referring to FIG. 1, a collaboration environment 100 of the prior art typically includes a server 110 (“collaboration server”), and a plurality of users of clients 120-1 . . . 120-N (120 generally) interconnected via a network 112 such as the Internet, VPN, LAN, WAN or other packet switched interconnection medium. Collaboration server 110 includes a workspace 150 for providing collaborative access to a plurality of applications 130-1 . . . 130-3 (130 generally). Applications 130 provide services to the users of clients 120 via workspace 150 and network 112. Each of the applications 130 has respective storage areas 132-1 . . . 132-3 (132 generally) for storing application data 134, therefore relieving workspace 150 from storing application data 134 on behalf of users.
Workspace 150 of FIG. 1 includes metadata defining the application data 134 stored by applications 130 on behalf of each user of a client 120. The workspace 150 includes properties 160 that define how the users of clients 120 interact with the applications 130. The server 110 also connects to workspace metadata storage 115, which is operable to store the properties 160 of the workspace 150 as a template 118-1 . . . 118-N (118 generally) on a disk volume or other form of workspace metadata storage 115, such as a local storage volume. Such a local storage volume is operable to store both templates and properties of presently instantiated (i.e. live or persistent) workspaces 150. The properties 160 define aspects such as privileges, policies, other users and available applications 130 (services) corresponding to a particular workspace 150. The server 110 is operable to instantiate the templates 118 for generating (e.g. instantiating) a workspace 150 having similar properties. The workspace metadata storage 115 volume may store a plurality of templates 118-1 . . . 118-N corresponding to different workspaces 150.
In prior art collaboration systems of the type shown in FIG. 1, a change to a value of an attribute of an object (e.g. a user's privilege to read and write the object) is typically made by overwriting the existing value with a new value. The inventors of the current patent application believe there is a need for a method and processor of the type described below, to save an existing value being overwritten by versioning the object and its attributes, so that each version is available if needed.